home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGMISC
/
PCSSP.LZH
/
PC-SSP.ZIP
/
STATDATA.ZIP
/
BOUND.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
3KB
|
92 lines
C
C ..................................................................
C
C SUBROUTINE BOUND
C
C PURPOSE
C SELECT FROM A SET (OR A SUBSET) OF OBSERVATIONS THE NUMBER
C OF OBSERVATIONS UNDER, BETWEEN AND OVER TWO GIVEN BOUNDS
C FOR EACH VARIABLE
C
C USAGE
C CALL BOUND (A,S,BLO,BHI,UNDER,BETW,OVER,NO,NV,IER)
C
C DESCRIPTION OF PARAMETERS
C A - OBSERVATION MATRIX, NO BY NV
C S - VECTOR INDICATING SUBSET OF A. ONLY THOSE
C OBSERVATIONS WITH A NON-ZERO S(J) ARE CONSIDERED.
C VECTOR LENGTH IS NO.
C BLO - INPUT VECTOR OF LOWER BOUNDS ON ALL VARIABLES.
C VECTOR LENGTH IS NV.
C BHI - INPUT VECTOR OF UPPER BOUNDS ON ALL VARIABLES.
C VECTOR LENGTH IS NV.
C UNDER - OUTPUT VECTOR INDICATING, FOR EACH VARIABLE, NUMBER
C OF OBSERVATIONS UNDER LOWER BOUNDS. VECTOR LENGTH
C IS NV.
C BETW - OUTPUT VECTOR INDICATING, FOR EACH VARIABLE, NUMBER
C OF OBSERVATIONS EQUAL TO OR BETWEEN LOWER AND UPPER
C BOUNDS. VECTOR LENGTH IS NV.
C OVER - OUTPUT VECTOR INDICATING, FOR EACH VARIABLE, NUMBER
C OF OBSERVATIONS OVER UPPER BOUNDS. VECTOR LENGTH
C IS NV.
C NO - NUMBER OF OBSERVATIONS
C NV - NUMBER OF VARIABLES FOR EACH OBSERVATION
C IER - ZERO, IF NO ERROR.
C - 1, IF LOWER BOUND IS GREATER THAN THE UPPER BOUND
C FOR SOME VARIABLE
C
C REMARKS
C NONE
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C NONE
C
C METHOD
C EACH ROW (OBSERVATION) OF MATRIX A WITH CORRESPONDING
C NON-ZERO ELEMENT IN S VECTOR IS TESTED. OBSERVATIONS ARE
C COMPARED WITH SPECIFIED LOWER AND UPPER VARIABLE BOUNDS AND
C A COUNT IS KEPT IN VECTORS UNDER, BETWEEN, AND OVER.
C
C ..................................................................
C
SUBROUTINE BOUND(A,S,BLO,BHI,UNDER,BETW,OVER,NO,NV)
DIMENSION A(1),S(1),BLO(1),BHI(1),UNDER(1),BETW(1),OVER(1)
C
C CLEAR OUTPUT VECTORS.
C
IER=0
DO 10 I=1,NV
IF (BLO(I)-BHI(I)) 10,10,11
11 IER=1
GO TO 12
10 CONTINUE
DO 1 K=1,NV
UNDER(K)=0.0
BETW(K)=0.0
1 OVER(K)=0.0
C
C TEST SUBSET VECTOR
C
DO 8 J=1,NO
IJ=J-NO
IF(S(J)) 2,8,2
C
C COMPARE OBSERVATIONS WITH BOUNDS
C
2 DO 7 I=1,NV
IJ=IJ+NO
IF(A(IJ)-BLO(I)) 5,3,3
3 IF(A(IJ)-BHI(I)) 4,4,6
C
C COUNT
C
4 BETW(I)=BETW(I)+1.0
GO TO 7
5 UNDER(I)=UNDER(I)+1.0
GO TO 7
6 OVER(I)=OVER(I)+1.0
7 CONTINUE
8 CONTINUE
12 RETURN
END